"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 23、浏览器兼容性测试.py
"""

# 浏览器包括：chrome firefox  edge
# ======================================  可以传递不同的参数来测试不同的浏览器  ========================================


"""
多浏览器测试概述：
    是垮不同浏览器组合验证网站或 web 应用程序功能的过程
    是兼容性测试的一个分支，用于保持功能和质量的一致性
    适用于面向客户的网站和组织内部使用的站点
"""

import os
from selenium import webdriver


# from Autoapi_frame../conftest import web_env


class Base():
    def setup_class(self):
        # 获取环境变量
        self.browser = web_env.get('browser')

    def test_case(self):
        print(f"获取到的浏览器信息为{self.browser}")
        if self.browser == 'firefox':
            self.driver = webdriver.Firefox()
        elif self.browser == 'chrome':
            self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()
        assert False


# 执行用例时：pytest 23、浏览器兼容性测试.py --browser=firefox/chrome

"""
pytest hook 函数
    pytest_addoption 添加命令行参数组/命令行参数
        parser.getgroup 创建/获取组名
        addoption 添加一个命令行选项
    pytest_configure 解析命令行选项，每个插件都会用到这个 hook 函数
        通过 config 对象的 getoption() 方法获取命令行参数
        将命令行获取的内容赋值给变量

"""
